function init_select_input(obj) {
	var name = obj.attr('name') == undefined ? '': obj.attr('name');
	var id = obj.attr('id') == undefined ? '': obj.attr('id');
	var classname = obj.attr('class') == undefined ? '': obj.attr('class');
	var uri = obj.attr('uri') == undefined ? '': obj.attr('uri');
	var key = obj.attr('key') == undefined ? '': obj.attr('key');
	var value = obj.attr('val') == undefined ? 0 : obj.attr('val');
	var num = obj.attr('num') == undefined ? 10 : Number(obj.attr('num'));
	var height = num * 20;
	if (name == '' || id == '' || classname == '') {
		return
	};
	var select_input = $('<div class="select-input"></div>');
	var input = $('<input type="input" class="' + classname + '" value="请选择..." />');
	var hidden = $('<input type="hidden" name="' + name + '" id="' + id + '" value="0" />');
	var sel = $('<div class="select-txt" style="display:none;max-height:' + height + 'px;"><ul></ul></div>');
	obj.children().each(function(i) {
		sel.find('ul').append('<li value="' + $(this).val() + '">' + $(this).text() + '</li>')
		if (value == $(this).val()) {
			input.val($(this).text());
			hidden.val($(this).val());
		}
	});
	input.blur(function() {
		if ($(this).val() == '') {
			$(this).val('请选择...');
			hidden.val(0)
		};
		sel.hide()
	}).focus(function() {
		if ($(this).val() == '请选择...') {
			$(this).val('')
		};
		sel.show()
	}).keyup(function() {
		if (uri == '') {
			var wait = $('<li>请稍后...</li>');
			sel.find('ul').append(wait).find('li').hide().each(function(i) {
				if (StrToUpperCase(input.val()) == StrToUpperCase(getFirstSpell($(this).text().substr(0, input.val().length)))) {
					$(this).show()
				}
			});
			wait.remove()
		} else {
			var _this = $(this);
			if (key == '') {
				return
			} else {
				sel.find('li').remove();
				var wait = $('<li>请稍后...</li>');
				sel.find('ul').append(wait);
				uri += '&' + key + '=' + encodeURIComponent(input.val());
				$.getJSON(uri,
				function(data) {
					for (var k in data) {
						sel.find('ul').append('<li value="' + data[k][0] + '">' + data[k][1] + '</li>')
					}
				});
				wait.remove()
			}
		}
	});
	sel.find('li').mouseover(function() {
		$(this).addClass('over')
	}).mouseout(function() {
		$(this).removeClass('over')
	}).mousedown(function() {
		input.val($(this).text());
		hidden.val($(this).attr('value'))
	});
	select_input.append(input);
	select_input.append(hidden);
	select_input.append(sel);
	obj.parent().append(select_input);
	obj.remove();
	return select_input
};